package com.zhb.cloud.base;

import com.zhb.cloud.enums.ResultCode;
import com.zhb.cloud.utils.ResultVo;

/**
 * @ClassName: BaseController
 * @Description: 简单封装
 * @author: zhb zhb1316783262@163.com
 * @date: 2017年11月23日 上午11:30:34
 */
public class BaseController {
	/**
	 * @MethodName: error
	 * @Description: 系统错误 统一返回(只返回信息)
	 * @Author: zhb1316783262@163.com
	 * @param message
	 * @return
	 * @Date: 2019年4月16日上午10:33:52
	 */
	protected ResultVo<?> error(String message) {
		return new ResultVo<>(ResultCode.ERROR.getCode(), message);
	}

	/**
	 * @MethodName: paramError
	 * @Description: 返回封装，code=400支持自定义res信息
	 * @Author: zhb1316783262@163.com
	 * @param message
	 * @return
	 * @Date: 2019年4月16日上午10:34:08
	 */
	protected ResultVo<?> paramError(String info) {
		return new ResultVo<>(ResultCode.PARAMETER_ERROR.getCode(), info);
	}

	/**
	 * @MethodName: message
	 * @Description:自定义提示信息方法
	 * @Author: zhb1316783262@163.com
	 * @param code
	 * @param msg
	 * @param data
	 * @return
	 * @Date: 2019年4月16日上午10:35:07
	 */
	protected ResultVo<?> message(int code, String msg, Object data) {
		return new ResultVo<>(code, msg, data);
	}

	/**
	 * @Description: 请求成功返回封装，code=200
	 * @param
	 * @param res
	 * @return 指定返回数据
	 */
	protected ResultVo<?> success(Object data, String info) {
		return new ResultVo<>(ResultCode.SUCCESS.getCode(), info, data);
	}

	/**
	 * @MethodName: success
	 * @Description: 成功返回
	 * @Author: zhb1316783262@163.com
	 * @param data
	 * @return
	 * @Date: 2019年4月16日上午10:39:52
	 */
	protected ResultVo<?> success(Object data) {
		return success(data, null);
	}
}
